home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / mklib.freebsd < prev    next >
Text File  |  1998-12-15  |  1KB  |  50 lines

  1. #!/bin/sh
  2.  
  3. # Make a FreeBSD shared library
  4. # contributed by Mark Diekhans <markd@grizzly.com>
  5.  
  6. #--identification------------------------------------------------------
  7.  
  8. # $Id: mklib.freebsd,v 1.7 1997/10/21 23:32:31 brianp Exp $
  9.  
  10. # $Log: mklib.freebsd,v $
  11. # Revision 1.7  1997/10/21 23:32:31  brianp
  12. # now takes major and minor version arguments
  13. #
  14.  
  15. #--common--------------------------------------------------------------
  16.  
  17. # Usage:  mklib libname major minor file.o ...
  18. #
  19. # First argument is name of output library (LIBRARY)
  20. # Second arg is major version number (MAJOR)
  21. # Third arg is minor version number (MINOR)
  22. # Rest of arguments are object files (OBJECTS)
  23.  
  24. LIBRARY=$1
  25. shift 1
  26.  
  27. MAJOR=$1
  28. shift 1
  29.  
  30. MINOR=$1
  31. shift 1
  32.  
  33. OBJECTS=$*
  34.  
  35. #--platform------------------------------------------------------------
  36.  
  37. VERSION=$MAJOR.$MINOR
  38.  
  39. BASENAME=`echo ${LIBRARY} | sed "s/\.a//g"`
  40. SHLIB=${BASENAME}.so.${VERSION}
  41. STLIB=${BASENAME}.a
  42.  
  43. rm -f ${SHLIB} ${STLIB}
  44.  
  45. ar cq ${STLIB} ${OBJECTS}
  46. ranlib ${STLIB}
  47. ld -Bshareable -o ${SHLIB} ${OBJECTS}
  48.  
  49. mv ${SHLIB} ../lib
  50.